package edu.chl.dat255.bluebanana.logic;

public interface ICommunication {
	
	// Calls
	
	/**
	 * Activates or deactivates the blocking of incoming calls
	 * @param isBlockCalls If block calls should be on or off
	 */
	public void setBlockCalls(boolean isBlockCalls);
	/**
	 * Activates or deactivates the auto responding of incoming calls
	 * @param isAutoRespond
	 */
	public void setAutoRespond(boolean isAutoRespond);
	/**
	 * Sets the message to send when calls are made to the device.
	 * @param message The message to send to callers
	 */
	public void setAutoRespondMessage(String message);
	
	// Networking

	/**
	 * Activates or deactivates flight mode
	 * @param isFlightMode If flight mode should be on or off
	 */
	public void setFlightMode(boolean isFlightMode);
	/**
	 * Activates or deactivates wifi
	 * @param isWifi If wifi should be on or off
	 */
	public void setWifi(boolean isWifi);
	/**
	 * Activates or deactivates bluetooth
	 * @param isBluetooth If bluetooth should be on or off
	 */
	public void setBluetooth(boolean isBluetooth);
	/**
	 * Activates or deactivates packet data (NOT IMPLEMENTED)
	 * @param isBluetooth If packet data should be on or off
	 */
	public void setPacketData(boolean isPacketData);
	/**
	 * 
	 * @return True or false depending on whether wifi is on or off
	 */
	public boolean isWifi();
	/**
	 * 
	 * @return True or false depending on whether bluetooth is on or off
	 */
	public boolean isBluetooth();
	/**
	 * 
	 * @return True or false depending on whether packet data is on or off
	 */
	public boolean isPacketData();
	/**
	 * 
	 * @return True or false depending on whether flight mode is on or off
	 */
	public boolean isFlightMode();
}
